<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <script src="../../../vue.js"></script>
    <title>Document</title>
  </head>
  <body>
    <!-- v-on用来绑定事件函数 -->
    <div id="app">
      <!-- 基本使用 -->
      <button v-on:click="del">删除</button>

      <!-- 省略函数，直接在事件后面跟表达式 -->
      {{num}}
      <button v-on:click="num++">num+1</button>

      <!-- 函数的传参 
      有一个形参，没有实参，这个形参代表event事件对象
      有一个形参，也传了一个实参，会覆盖掉event
      有实参也想使用event，传两个及以上的形参，其中一个实参用$event代表event事件
      -->
      <button v-on:click="age1">打印event</button>
      <button v-on:click="age2(10)">年纪</button>
      <button v-on:click="age3(333,$event)">打印数字和event</button>

      <!-- v-on的修饰符
      常用的有6个：prevent(阻止默认行为)\stop（阻止冒泡传播）\self（只有自身能触发）\once（只能触发一次）\enter（按回车键修改）\capture（捕获阶段触发）
      -->
    </div>
    <script>
      const vm = new Vue({
        el: '#app',
        data() {
          return {};
        },
        methods: {
          del() {
            alert('确定删除吗?');
          },
          num: 10,
          age1(e) {
            console.log(e);
          },
          age2(a) {
            alert('你的年龄为' + a);
          },
          age3(a, e) {
            console.log(a, e.target.value);
          },
        },
      });
    </script>
  </body>
</html>
